package cn.com.ccxe.dao;

import java.util.List;

import cn.com.ccxe.core.entity.Website;

public interface WebsiteDao {

	/**
	 * 添加模块
	 * @return
	 */
	OperationStatus add(Website website);
	
	/**
	 * 添加模块
	 * @return id 返回先插入模块的ID。
	 */
	int addAndRetuenId(Website website);
	
	/**
	 * 根据ID删除模块
	 * @param id
	 * @return
	 */
	OperationStatus del(int id);
	
	/**
	 * 修改模块
	 * @param website
	 * @return
	 */
	OperationStatus update(Website website);
	
	/**
	 * 根据ID获取模块
	 * @param id
	 * @return
	 */
	Website get(int id);
	
	/**
	 * 获取所有的顶级模块
	 * @return
	 */
	List<Website> getTopWebsite();
	
	/**
	 * 根据父ID获取子模块
	 * @param parentId
	 * @return
	 */
	List<Website> getChildWebsite(int parentId);
	
	/**
	 * 获取父模块ID
	 * @param Id
	 * @return
	 */
	int getParentWebsiteId(int id);
	/**
	 * 获取模块中下文章列表
	 * @param parentId 
	 * @return 
	 */
	List<Website> getListPageByParentId(int parentId);

	/**
	 * 统计该模块下的子模块数量
	 * @param websiteId
	 * @return
	 */
	int countChild(int websiteId);

	/**
	 * 获取所有的文章列表
	 * @return
	 */
	List<Website> getAllListPage();

	int countSubWebsite(int id);
}
